/**
 * 以服务的方式，将对文件的一些操作挂载到 Vue 上
 * @description 各个服务的参数传递查看服务封装对应目录下的 index.js 文件，里面注明了需要传递的参数
 * @author 小鲤鱼听听
 */

/**
 * 动态引入操作文件的弹窗组件
 */


const fileOperateDialogModules = () =>  {
    console.log(import.meta.glob('@/components/file/dialog//\\.\\/(.*)\\/index.js$/'))

    return import.meta.glob('@/components/file/dialog//\\.\\/(.*)\\/index.js$/')
}
/**
 * 服务挂载到 Vue - $openDialog，各个服务的名称为其对应的文件夹的名称
 * @description 例如，创建文件夹功能：服务封装路径 '_c/file/dialog/addFolder' ，则如下：
 * 在 *.vue 文件中，使用 this.$openDialog.addFolder 调用创建文件夹服务
 * 在 *.js 文件中，需要先在文件顶部引入 Vue ，即 import Vue from 'vue' ，然后使用 Vue.property.$openDialog.addFolder 调用创建文件夹服务
 */
const openDialog = () => {
    fileOperateDialogModules
        .keys()
        .map((key) => {
            return {[key.split('/')[1]]: fileOperateDialogModules(key).default}
        })
        .reduce((pre, next) => {
            return {...pre, ...next}
        }, {})
}




export default { openDialog }
